package com.gok.kanmeituyun2.activity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.gok.kanmeituyun2.MainActivity;
import com.gok.kanmeituyun2.R;
import com.gok.kanmeituyun2.util.file.Constant;
import com.gok.kanmeituyun2.util.file.SharedPreferencesUtil;
import com.gok.kanmeituyun2.util.regex.RegexUtil;
/**
 * @Company 工商学院
 * @Classname
 * @Description TODO 登录活动
 * @Author wbs
 * Date 2021.6.18 10:01
 * Version 1.0
 */
public class LoginActivity extends BaseActivity {
    private EditText ed_account;
    private EditText ed_pwd;
    private Button btnLogin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        init();
    }

    /**
     * @return void
     * @methodName TODO 初始化组件
     * @author wbs
     * @date 2021.6.18 10:39
     */
    private void init() {
        ed_account = findViewById(R.id.ed_account);
        ed_pwd = findViewById(R.id.ed_pwd);
        btnLogin = findViewById(R.id.btnLogin);
        btnLogin.setOnClickListener(v -> {
            loginMethod();
        });
    }

    /**
     * @return void
     * @methodName TODO 登录方法
     * @author wbs
     * @date 2021.6.18 10:40
     */
    private void loginMethod() {
        //取得用户输入
        String account = ed_account.getText().toString();
        String pwd = ed_pwd.getText().toString();
        if (account.equals("") || TextUtils.isEmpty(account.replaceAll(" ", ""))) {
            Toast.makeText(this, R.string.hint_ed_account, Toast.LENGTH_SHORT).show();
            return;
        }
        if (pwd.equals("") || TextUtils.isEmpty(pwd.replaceAll(" ", ""))) {
            Toast.makeText(this, R.string.hint_ed_pwd, Toast.LENGTH_SHORT).show();
            return;
        }
        //验证帐号信息:邮箱&手机
        if (!RegexUtil.isTelephone(account) && !RegexUtil.isEmail(account)) {
            Toast.makeText(this, R.string.hint_account_error, Toast.LENGTH_SHORT).show();
            return;
        }
        //验证密码
        if (pwd.length() < 6 || pwd.length() > 15) {
            Toast.makeText(this, R.string.hint_pwd_error, Toast.LENGTH_SHORT).show();
            return;
        }
        //实际项目： 查库 || 访问http请求去验证

        //本例 ：直接用读写内存文件的方式，用固定的帐号和密码去验证
        //验证帐号
        if (!(account.equals(Constant.KMF_EMAIL) || account.equals(Constant.KMF_PHONE))) {
            Toast.makeText(this, R.string.hint_login_fail, Toast.LENGTH_SHORT).show();
            return;
        }
        if (!pwd.equals(Constant.KMF_PWD)) {
            Toast.makeText(this, R.string.hint_login_fail, Toast.LENGTH_SHORT).show();
            return;
        }
        //保存成功状态true ,保存正确登录信息
        if (sp.writeLoginStatus(true) &&
                sp.writeToSharedPreferences(account, pwd)) {
            //跳转主活动
            startActivity(new Intent(LoginActivity.this, MainActivity.class));

            finish();
        }


    }
}